Ken Thompson e Dennis Ritchie , inventori della filosofia di Unix
La filosofia di Unix (in inglese : Unix philosophy ) è una metodologia di sviluppo del software proposta nel 1969 da Ken Thompson e adottata dagli sviluppatori del sistema operativo Unix e da alcuni sistemi Unix-like .[ 1]
Nonostante le diverse formulazione fornite nel corso degli anni, tra gli altri, da Douglas McIlroy , Rob Pike ed Eric Steven Raymond , è brevemente riassunta dalla massima:[ 2]
(inglese)
«Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
[ 3] »
(italiano) «Scrivete programmi che facciano una cosa e che la facciano bene. Scrivete programmi che funzionino insieme. Scrivete programmi che gestiscano flussi di testo, perché quella è un'interfaccia universale.»
La frase, che suggerisce l'adozione della programmazione modulare e l'utilizzo dei canali standard per la comunicazione tra processi , trae spunto dall'elenco di caratteristiche stilate da McIlroy, inventore delle pipe ,[ 2] e altri.[ 4] Lo stesso McIlroy attribuisce a Brian Kernighan la diffusione della filosofia, anche grazie allo sviluppo di linguaggi come awk .[ 5] Mike Gancarz sintetizza la filosofia di Unix in 9 principi, citando tra i pilastri la portabilità e l'importanza dei filtri .[ 6]
La filosofia di Unix è citata da Patrick Volkerding come una delle radici del progetto Slackware , per differenziarsi dalle altre distribuzioni .[ 7]
^ (EN ) The Unix Philosophy: A Brief Introduction , su The Linux Information Project , 6 agosto 2006.
^ a b (EN ) Eric Steven Raymond, Basics of the Unix Philosophy , su The Art of Unix Programming , catb.org , 19 settembre 2003.
^ (EN ) Peter H. Salus, A Quarter Century of Unix , Addison-Wesley, 31 maggio 1994, ISBN 0-201-54777-5 .
^ (EN ) BSTJ 57: 6. July-August 1978: UNIX Time-Sharing System: Forward. (McIlroy, M.D.; Pinson, E.N.; Tague, B.A.) , su archive.org , 8 luglio 1978.
^ (EN ) M. Douglas McIlroy, A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986 (PDF ), su cs.dartmouth.edu .
^ (EN ) Mike Gancarz, The Unix philosophy , Digital Press, 1995, p. 4 , ISBN 1-55558-123-4 .
^ (EN ) An Interview with Patrick Volkerding of Slackware (7th of June 2012) , su Slackware Linux Blog , 13 gennaio 2013.